using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Audio;
using Microsoft.Xna.Framework.Content;
using Microsoft.Xna.Framework.GamerServices;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Input;
using Microsoft.Xna.Framework.Net;
using Microsoft.Xna.Framework.Storage;


namespace animandohulk
{
    public enum acciones {subir,bajar,derecha,izquierda,quieto};
    class avatar
    {
        public acciones accion;
        public int velocidad;
        public Texture2D textura;
        public int[] cuadro;
        public Vector2 pos;
        public int dibcua;
        public avatar()
        {
            pos = Vector2.Zero;
            velocidad = 0;
            cuadro=new int[3];
            cuadro[0] = 1;
            cuadro[1] = 1;
            cuadro[2] = 1;
            dibcua = 15;
        }
        public void Caminar(acciones acci, int vel)
        {
            velocidad = vel;
            accion = acci;
            switch (accion)
            {
                case acciones.subir:
                    pos.Y = pos.Y - velocidad;
                    break;
                case acciones.bajar:
                    pos.Y = pos.Y + velocidad;
                    break;
                case acciones.derecha:
                    pos.X = pos.X + velocidad;
                    break; 
                case acciones.izquierda:
                    pos.X = pos.X - velocidad;
                    break;
                case acciones.quieto:
                    velocidad = 0;
                    break;
            }
        }

        public void Dibujar(SpriteBatch sbatch,ContentManager content)
        {
            if (dibcua > 8)
            {
                switch (accion)
                {
                    case acciones.subir:
                        textura = content.Load<Texture2D>("u001");
                        break;
                    case acciones.bajar:
                        textura = content.Load<Texture2D>("d001");
                        break;
                    case acciones.derecha:
                        if (cuadro[0] > 4)
                        {
                            cuadro[0] = 1;
                        }
                        textura = content.Load<Texture2D>("a00" + Convert.ToString(cuadro[0]));
                        cuadro[0]++;
                        break;
                    case acciones.izquierda:
                        if (cuadro[1] > 6)
                        {
                            cuadro[1] = 1;
                        }
                        textura = content.Load<Texture2D>("at00" + Convert.ToString(cuadro[1]));
                        cuadro[1]++;
                        break;
                    case acciones.quieto:
                        if (cuadro[2] > 5) cuadro[2] = 1;
                        textura = content.Load<Texture2D>("s00" + Convert.ToString(cuadro[2]));
                        cuadro[2]++;
                        break;
                        
                }
                dibcua = 0;
            }
            sbatch.Draw(textura, new Rectangle((int)pos.X, (int)pos.Y, textura.Width, textura.Height), Color.White);
            dibcua++;
        }

    }
 

}
